package com.example.demo.service.role;

import java.util.List;
import java.util.Set;

import com.example.demo.domain.role.Role;

public interface RoleService {
	int deleteByPrimaryKey(Integer roleId);

    int insert(Role record);

    int insertSelective(Role record);

    Role selectByPrimaryKey(Integer roleId);

    int updateByPrimaryKeySelective(Role record);

    int updateByPrimaryKey(Role record);
    
    /**
     * 根据条件分页查询角色数据
     * 
     * @param role 角色信息
     * @return 角色数据集合信息
     */
    public List<Role> selectRoleList(Role role);
    
    /**
     * 批量角色用户信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteRoleByIds(String[] ids);

    /**
     * 校验角色名称是否唯一
     * 
     * @param roleName 角色名称
     * @return 角色信息
     */
    public int checkRoleNameUnique(Role role);
    
    /**
     * 校验角色权限是否唯一
     * 
     * @param role 角色权限
     * @return 角色信息
     */
    public Role checkRoleKeyUnique(Role role);
  
    public List<Role> selectRoleAll();

	List<Role> selectRolesByUserId(Integer userId);

	Set<String> selectRoleKeys(Integer userId);

	int changeStatus(Role role);

	int countUserRoleByRoleId(Integer roleId);

	

	

	

}
